import java.util.*;

class Student{
    private String id;
    public Student(){

    }
    public Student(String id){
        this.id=id;
    }
    @Override
    public boolean equals(Object o){
        if(this==o){
            return true;
        }
        if(o==null||getClass()!=o.getClass()){
            return false;
        }
        Student student=(Student)o;
        return Objects.equals(id,student.id);
    }
    @Override
    public int hashCode(){
        return Objects.hash(id);
    }
    @Override
    public String toString(){
        return "Student{"+"id="+id+'\''+'}';
    }
}

public class test_2_7 {
//    public static void main(String[] args) {
//        Map<String,Integer> treeMap=new TreeMap<>();
//        treeMap.put("zhangsan",3);
//        treeMap.put("lisi",4);
//        treeMap.put("wangwu",5);
//        //treeMap.put(null,9);
//        System.out.println(treeMap);
//        Integer val=treeMap.getOrDefault("zhangsan1",0);
//        System.out.println(val);
//        Set<String> keySet=treeMap.keySet();
//        System.out.println(keySet);
//        Set<Map.Entry<String,Integer>> set=treeMap.entrySet();
//        for (Map.Entry<String,Integer> entry:set) {
//            System.out.println("key:"+entry.getKey()+" value"+entry.getValue());
//        }
//    }

//    public static void main(String[] args) {
//        Map<Student,Integer> treeMap=new TreeMap<>();
//        //key必须要可以比较
//        treeMap.put(new Student(),1);
//        treeMap.put(new Student(),2);
//        System.out.println(treeMap);
//    }

//    public static void main(String[] args) {
//        Set<String> set=new TreeSet<>();
//        set.add("zhangsan");
//        set.add("lisi");
//        set.add("wangwu");
//        System.out.println(set);
//    }

    public static void main(String[] args) {
        HashBucket hashBucket=new HashBucket();
        hashBucket.put(1,11);
        hashBucket.put(2,22);
        hashBucket.put(3,33);
        hashBucket.put(4,44);
        hashBucket.put(5,55);
        Integer val=hashBucket.get(2);
        System.out.println(val);
    }

//    public static void main(String[] args) {
//        Student student1=new Student("111");
//        System.out.println(student1.hashCode());
//        Student student2=new Student("222");
//        System.out.println(student2.hashCode());
//    }

//    public static void main(String[] args) {
//        Student student1=new Student("111");
//        System.out.println(student1.hashCode());
//        Student student2=new Student("111");
//        System.out.println(student2.hashCode());
//
//        HashBucket2<Student,String> hashBucket2=new HashBucket2<>();
//        hashBucket2.put(student1,"zhangsan");
//        String val=hashBucket2.get(student2);
//        System.out.println(val);
//    }

//    public static void main(String[] args) {
//        int[] array={1,2,3,3,4,5,5,6};
//        Set<Integer> set=new HashSet<>();
//        for (int x:array) {
//            set.add(x);
//        }
//        System.out.println(set);
//    }

//    public static void main(String[] args) {
//        int[] array={1,2,2,2,3,4,5,6};
//        Set<Integer> set=new HashSet<>();
//        for (int x:array) {
//            if(!set.contains(x)){
//                set.add(x);
//            }else{
//                System.out.println(x);
//                return;
//            }
//        }
//    }

//    public static void main(String[] args) {
//        int[] array={1,2,3,4,4,4,5,6};
//        Map<Integer,Integer> map=new HashMap<>();
//        for (int x:array) {
//            if(map.get(x)==null){
//                map.put(x,1);
//            }else{
//                int val=map.get(x);
//                map.put(x,val+1);
//            }
//        }
//        for (Map.Entry<Integer,Integer> entry:map.entrySet()) {
//            if(entry.getValue()>1){
//                System.out.println("key:"+entry.getKey()+" val"+entry.getValue());
//            }
//        }
//    }

//    public int singleNumber(int[] array){
//        Set<Integer> set=new HashSet<>();
//        for (int i = 0; i < array.length; i++) {
//            if(!set.contains(array[i])){
//                set.add(array[i]);
//            }else{
//                set.remove(array[i]);
//            }
//        }
//        for (int i = 0; i < array.length; i++) {
//            if(set.contains(array[i])){
//                return array[i];
//            }
//        }
//        return -1;
//    }

}







